/* 
 * File:   Project.h
 * Author: shemmenw
 *
 * Created on August 3, 2011, 10:33 AM
 */

#ifndef PROJECT_H
#define	PROJECT_H


#include "ProjectDefs.h"

class Project
{
public:
    Project(const GradingOptions &);
    Project(const Project& orig);
    virtual ~Project();

    void loadSubmissions();
    void loadGradeSpec();

    void compileAndExecuteAll();
    void gradeAll();

    void loadGradeCriteria(const FileType&);
private:
    FileType projectFolder;
    const GradingOptions &options;

    ProjectDescriptionType description;
    SubmissionVector submissions;
    GradeCriteria gradeSpec;
};

#endif	/* PROJECT_H */

